<?php
//测试用户模型类
class test_class_user_model extends UnitTestCase{

	 function setUp(){
		 
		 $this->_CI =& get_instance();
		 $this->_CI->load->model( 'user_model' , '' , TRUE );	 

		 //插入一个测试用用户
		 //已在数据库中添加了一个 id = 0 
		 $test_user_info =  array(
				 'user_id'=>0 ,
				 'nick'=>'just_for_test' ,
				 'email'=>'test@test.com' );

		 if( !$this->_CI->user_model->is_exists( $test_user_info ) ){
			 $this->_CI->user_model->add_new( 
				 array(
					 'user_id'=>0 ,
					 'nick'=>'just_for_test' ,
					 'email'=>'test@test.com' ) ); 
		 }
	 }
	 function tearDown(){}
	
	 function test_function_find(){

		 //错误参数调用 find() 
		 //直接会触发一个 CI error ，不是一个异常
		 //$this->assertFalse( @$this->_CI->user_model->find( array( 'test'=>'test' ) ) );

		 //查找一个不存在的用户
		 //返回一个 FALSE
		 $this->assertFalse( $this->_CI->user_model->find( array( 'user_id'=>999999999999 ) ) );

		 //查找一个存在的用户
		 //返回该用户的对象
		 $this->assertTrue( $this->_CI->user_model->find( array( 'user_id'=>0 ) , TRUE ) instanceof user );	
		 //只返回用户信息数组
		 $this->assertTrue( is_array( $this->_CI->user_model->find( array( 'user_id'=>0 ) , FALSE ) ) );
	 
	 }

	 function test_function_find_all(){
	 
		$this->assertTrue( is_array( $this->_CI->user_model->find_all() ) );
	 }
}

$test = new test_class_user_model();
$test->run( new HtmlReporter() );
